<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    /*     打印出所有"水仙花数"，所谓"水仙花数"是指一个三位数，其各位数字立方和等于该本身。
        要求分别用while语句、do...while语句以及for语句来控制循环。 */

    // while 语句
    let i = 100;
    let a, b, c;
    while (i <= 999) {
        // 100 * a + 10 * b + c = i
        // 个位数
        c = i % 10;
        // 十位数
        b = (i - c) / 10 % 10;
        // 百位数
        a = (i - c - b * 10) / 100 % 10;
        if (i == a * a * a + b * b * b + c * c * c) {
            console.log(i);
        }
        i++;
    }

    // do while 语句
    i = 100;
    do {
        // 个位数
        c = i % 10;
        // 十位数
        b = (i - c) / 10 % 10;
        // 百位数
        a = (i - c - b * 10) / 100 % 10;
        if (i == a * a * a + b * b * b + c * c * c) {
            console.log(i);
        }
        i++;
    } while (i <= 999);

    // for 语句
    for (let i = 100; i <= 999; i++) {
        // 个位数
        c = i % 10;
        // 十位数
        b = (i - c) / 10 % 10;
        // 百位数
        a = (i - c - b * 10) / 100 % 10;
        if (i == a * a * a + b * b * b + c * c * c) {
            console.log(i);
        }
    }
</script>

</html>